<?
class Xml
{
	function Xml()
	{
		if(!class_exists('MiniXMLDoc'))
		{
			echo("MiniXML nao carregado");
			exit();
			return false;
		}
		else
			return true;
	}
	
	function le($dados)
	{
		$OBxml = new MiniXMLDoc();
		$dados = $this->html_decode($dados);
		$OBxml->fromString($dados);
		$retorno =  $OBxml->toArray();
		unset($dados,$OBxml);
		return $retorno;
	}
	function escreve($dados, $attributes=array('attributes' => array()))
	{
		$OBxml = new MiniXMLDoc();
		$OBxml->fromArray($dados, $attributes);
		$retorno =  $OBxml->toString();
		unset($dados,$OBxml);
		return $retorno;
	}
	
	// Executa html_entity_decode recursivamente
	function html_decode($dado)
	{
		if(is_array($dado))
		{
			foreach(array_keys($dado) as $k)
			{
				$dado[$k] = $this->html_decode($dado[$k]);
			}
			return $dado;
		}
		else
		{
			return html_entity_decode($dado);
		}
	}
}
?>